package com.wind.taobao.api.trade.itemprop.rest
{
	import com.wind.taobao.api.IPublicAPI;
	import com.wind.taobao.core.exception.InvalidRequestParametersException;
	import com.wind.taobao.core.util.TaobaoUtils;
	import com.wind.taobao.core.webservice.TaobaoRequest;

	/**
	 * taobao.itemprops.get  Request
	 * @author fxy
	 *
	 */
	public class ItemPropsGetRequest extends TaobaoRequest implements IPublicAPI
	{
		public override function get method():String
		{
			return "taobao.itemprops.get"
		}
		/**
		 * N 	 需要返回的字段列表，可选字段为：pid, name, is_key_prop, is_sale_prop, is_color_prop, is_enum_prop, is_input_prop, is_item_prop, child_template, must, multi, parent_pid, parent_vid, status, sort_order，默认返回：pid, name, must, multi, prop_values
		 */
		[Bindable]
		public var fields:String;
		/**
		 * Y 	叶子类目ID，如果只传cid，则只返回一级属性,通过taobao.itemcats.get获得叶子类目ID
		 */
		[Bindable]
		public var cid:String;
		/**
		 * N 	属性id (取类目属性时，传pid，不用同时传PID和parent_pid)
		 */
		[Bindable]
		public var pid:String;
		/**
		 * N 	父属性ID
		 */
		[Bindable]
		public var parent_pid:String;
		/**
		 * N 	是否关键属性。可选值:true(是),false(否)
		 */
		[Bindable]
		public var is_key_prop:String;
		/**
		 * N 	是否销售属性。可选值:true(是),false(否)
		 */
		[Bindable]
		public var is_sale_prop:String;
		/**
		 * N 	是否颜色属性。可选值:true(是),false(否) (删除的属性不会匹配和返回这个条件)
		 */
		[Bindable]
		public var is_color_prop:String;
		/**
		 * N 	是否枚举属性。可选值:true(是),false(否) (删除的属性不会匹配和返回这个条件)
		 */
		[Bindable]
		public var is_enum_prop:String;
		/**
		 * N 	是否是卖家可以自行输入的属性。可选值:true(是),false(否) (删除的属性不会匹配和返回这个条件)
		 */
		[Bindable]
		public var is_input_prop:String;
		/**
		 * N 	是否商品属性，这个属性只能放于发布商品时使用。可选值:true(是),false(否)
		 */
		[Bindable]
		public var is_item_prop:String;
		/**
		 *	N 	增量时间戳。格式:yyyy-MM-dd HH:mm:ss假如传2005-01-01 00:00:00，则取所有的属性和子属性ID(如果传了pid会忽略datetime)
		 */
		[Bindable]
		public var datetime:String;

		public override function validate():void
		{
			if (!TaobaoUtils.hasValue(cid))
			{
				throw new InvalidRequestParametersException("请求参数[cid]必须有值");
			}
		}
	}
}